waiting on 15g springs for the Splitography, porting the chorded home row layout to it was inevitable as i further explore this minimal finger travel layout approach and the power of DennyTom’s chording engine.
While my own QMK libraries have been refactored over time to facilitate usage across the several keyboard types i use, i can say unequivocally that the json file parsing approach taken by DennyTom is vastly preferred with its table driven specification eliminating almost all of the keyboard layer and custom keycode C language code whilst improving the readability of the layout design and rendering much easier maintenance. Simply brilliant.
In this particular configuration, the Splitography’s steno number row has been relegated to just that function—those keys are available for a myriad of applications, i just don’t have a use case need for them outside of steno. So the bottom two rows, just like in steno (and the Georgi), it is.
The primary difference lies in the four steno thumb keys (to the Georgi’s six), requiring chording of the keys to allow the same number of thumb layers—a minor change that retains the overall BEAKL Wi layout of the Georgi and is a snap to define in the json file for the parser to do the rest! The other difference is the assignment of the inner (versus outer) columns for the toggle layer keys—this is a function of the keyboard’s different physical design, and thumb and at rest finger key positions..
chord | output |
---|---|
: Y | ” :: “ |
Shift Esc | Enter |
Shift I | Space |
Space Backspace | Enter |
Shift Backspace | Backspace (autorepeat) |
chord | output |
---|---|
Shift : | ; |
Shift , | ? |
Shift . | ! |
Shift - | _ |
Shift ‘ | ” |
chord | output |
---|---|
: Space | ”: “ + one_shot_shift |
, Space | ”, “ + one_shot_shift |
. Space | ”. “ + one_shot_shift |
Shift : Space | ”; “ + one_shot_shift |
Shift , Space | ”? “ + one_shot_shift |
Shift . Space | ”! “ + one_shot_shift |
Shift Space | ” “ + one_shot_shift |
: Space Backspace | : <enter> + one_shot_shift |
, Space Backspace | , <enter> + one_shot_shift |
. Space Backspace | . <enter> + one_shot_shift |
Shift : Space Backspace | ; <enter> + one_shot_shift |
Shift , Space Backspace | ? <enter> + one_shot_shift |
Shift . Space Backspace | ! <enter> + one_shot_shift |
Shift Space Backspace | <enter> + one_shot_shift |
chord | output |
---|---|
J < | ” <- “ |
> % | ” -> “ |
Esc = | != |
* & | ~/ |
chord | output |
---|---|
* [ | .* |
chord | output |
---|---|
/ 4 | : |
, 8 | ; |
Postfix | G or “ “ |
Postfix 0 | 0x |
toggle | action |
---|---|
Postfix | G -> “ “ |
Caps | Upper case HEX (retoggle to disable CapsLock on exiting layer) |
Brkt | Square -> Round -> Curly brackets |
chord | output |
---|---|
XPaste Private | Compile time string |
Paste Public | Compile time stringString |
the only gotchas during this port were the NKRO and mouse key configuration options. While enabled for the non-chorded Splitography configuration, these needed to be disabled with the chording engine—at present**.
Not doing so causes a dfu-programmer “Bootloader and code overlap” error. This is a good reminder to always initially turn off ALL configuration options when configuring new keyboards.
Other than that, configuring the Splitography with the DennyTom chording engine could not have been simpler.
**Memory requirements are dependent on the keyboard and its MCU. Future chording engine code optimizations may free up the necessary memory. This use case has no need for these options, the parsing/chording paradigm far outweighing any negatives AFAIAC.